<?php namespace Home\Controller; 

use Hdphp\Controller\Controller;

/**
 * 订单提交成功页控制器
 * 田昭鹏
 */

class SuccessController extends CommonController{
	//构造函数
	public function __init(){
        parent::__init();
	}
	
    //动作
    public function index(){
    	// p($_SESSION);
    	// p($_POST);
        if(IS_POST){
            // 重组数组
            $data=$this->rearray(Q('post.'));
            // p($data);die;
            // p($_SESSION);
            if($data['total']==0) return FALSE;
            
            // 实例化模型  添加订单表
            $order=new \Common\Model\Orders;
            // 自动完成
            $oid=$order->store($data);
            // p($oid);die;
            // 
            // 实例化模型  添加订单列表
            $olData=new \Common\Model\OrdersList;
            $listData=array();
            $listData['order_oid']=$oid;
            foreach ($data['goods'] as $k => $v) {
                $listData['quantity']=$v['num'];
                $listData['subtotal']=$v['total'];
                $listData['goods_gid']=$v['id'];
                $listData['ocombine']=$v['combine'];
                // 添加
                $olData->add($listData);
            }
            // p($listData);
            
            // 存入session 订单号
            $_SESSION['onumber']=$order->where('oid',$oid)->pluck('onumber');

            go(U('Success/index'));
        }
        // p($_SESSION);die;
        $orderData=current(Db::table('orders')->where('onumber',$_SESSION['onumber'])->get());
        // echo "string";die;
        // p($orderData);
        View::with('orderData',$orderData);
        // p($_SESSION);
       	View::make();
    }

    // 重组数组
    private function rearray($data){
        $temp=array();
        $temp['total']=0;
        $temp['total_rows']=0;
        $temp['address_adid']=$data['address'];
        $temp['huser_hid']=Db::table('huser')->where('username',$_SESSION['hname'])->pluck('hid');
        // 从session中提取数据
        foreach ($_SESSION['cart']['goods'] as $k => $v) {
            if(in_array($k, $data['goods'])){
                $temp['goods'][$k]=$v;
                $temp['total']=$temp['total']+$v['total'];
                $temp['total_rows']=$temp['total_rows']+$v['num'];
                Cart::update(array('sid'=>$k,'num'=>0));
            }
        }
        // 清理session中的data
        unset($_SESSION['data']);
        return $temp;
    }


    // 异步改变订单状态
    public function ajaxFk(){
        if(!IS_AJAX) return FALSE;
        $oid=Q('post.oid',0,'intval');
        // 声明空数组
        $temp=array('oid'=>$oid,'status'=>'待发货');
        // p($temp);die;
        // 实例化表订单
        $order=new \Common\Model\Orders;
        // 修改数据库
        $result=$order->save($temp);
    }
}
